<?php

function uc($url, $vars = '', $suffix = true, $redirect = false, $domain = false) {
    $uid = empty($_REQUEST['uid']) ? $_SESSION['user_id'] : intval($_REQUEST['uid']);
    if ($vars == '') {
        $vars = "&uid=" . $uid;
    }
    elseif (is_array($vars)) {
        $vars['uid'] = $uid;
    }
    return u($url, $vars, $suffix, $redirect, $domain);
}

function uimg($img) {
    if (empty($img)) {
        return SITE_ROOT . "data/user/avatar.gif";
    }
    return $img;
}

/*
 * 检查是否喜欢、分享,不存在则添加
 * */

function check_favorite($type, $id) {
    $mod = D($type);
    if (!$mod->where("items_id=$id and uid=" . $_SESSION['user_id'])->count() > 0) {
        $mod->add(array(
            'items_id' => $id,
            'add_time' => time(),
            'uid' => $_SESSION['user_id']
        ));
        return false;
    }
    return true;
}

/*
 * 获取喜欢记录
 * */

function get_favorite($type, $pagesize = 8) {
    import("ORG.Util.Page");

    if ($type == 'like_list') {
        $mod = D($type);
        $items_mod = D('items');

        $where = 'uid=' . $_SESSION['user_id'];

        $count = $mod->where($where)->count();
        $p = new Page($count, $pagesize);

        $like_list = $mod->where($where)->limit($p->firstRow . ',' . $p->listRows)->select();

        foreach ($like_list as $key => $val) {

            $list[$key] = $items_mod->where('id=' . $val['items_id'])->find();
        }
        return array('list' => $list, 'page' => $p->show());
    }
    else if ($type == 'share_list') {
        $where = 'uid=' . $_SESSION['user_id'];
        $mod = D('items');
        $count = $mod->where($where)->count();

        $p = new Page($count, $pagesize);
        $list = $mod->where($where)->limit($p->firstRow . ',' . $p->listRows)->select();
        return array('list' => $list, 'page' => $p->show());
    }
}


/**
 +----------------------------------------------------------
 * 字符串截取，支持中文和其它编码
 +----------------------------------------------------------
 * @static
 * @access public
 +----------------------------------------------------------
 * @param string $str 需要转换的字符串
 * @param string $start 开始位置
 * @param string $length 截取长度
 * @param string $charset 编码格式
 * @param string $suffix 截断显示字符
 +----------------------------------------------------------
 * @return string
 +----------------------------------------------------------
 */
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) {
    if(function_exists("mb_substr"))
    $slice = mb_substr($str, $start, $length, $charset);
    elseif(function_exists('iconv_substr')) {
        $slice = iconv_substr($str,$start,$length,$charset);
    }else{
        $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
        $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
        $re['gbk']	  = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
        $re['big5']	  = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
        preg_match_all($re[$charset], $str, $match);
        $slice = join("",array_slice($match[0], $start, $length));
    }
    if($suffix && $str != $slice) return $slice."...";
    return $slice;
}